草庐IT

c: 程序执行问题

全部标签

ruby - 如何增加 ruby​​ 应用程序的堆栈大小。递归应用获取 : Stack level too deep (SystemStackError)

在stackoverflow.com上发布一个堆栈溢出问题,多么有趣:-)我正在运行一些递归Ruby代码,我得到:“堆栈级别太深(SystemStackError)”(我很确定代码有效,我没有陷入无限递归的死亡螺旋,但这不是重点)是否可以更改我的Ruby应用程序允许的堆栈深度/大小?如果这是Ruby中的限制,我不太明白,因为错误显示“堆栈级别”,这给我的印象是Ruby以某种方式计算堆栈的“级别”,或者它只是意味着堆栈满了。我已经尝试在Vista和Ubuntu下运行这个程序,结果相同。在Ubuntu下,我尝试使用“ulimit-s”将堆栈大小从8192更改为16000,但这并没有改变任何

ruby - Ruby 是否提供了一种使用指定编码执行 File.read() 的方法?

在ruby​​1.9.x中,我们可以使用File.open('filename','r:iso-8859-1')指定编码。如果我直接将许多短文件读入字符串,我通常更喜欢使用单行File.read()。有什么方法可以直接指定编码,还是必须求助于以下方法之一?str=File.read('filename')str.force_encoding('iso-8859-1')或f=File.open('filename','r:iso-8859-1')s=''while(line=f.gets)s+=lineendf.close 最佳答案

ruby - 在 sublime text 2 中执行 Ruby 代码

如何使用ST2运行Ruby文件并查看输出?我想我应该使用build命令。但是如果我有这个:deffoobar"helloworld"endputsfoobar然后按cmd+shift+b。我只看到了[Finishedin0.1s]在textmate中,我可以使用cmd+r(运行命令)并查看ruby​​脚本的所有输出。我是不是漏了什么? 最佳答案 我没有保存文件。这就是为什么它不起作用。要在不先保存文件的情况下运行文件(如TextMate),您应该尝试使用Anypreter插件。 关于ru

ruby-on-rails - 在 postgresql 应用程序的 rails 中运行迁移后的序列通知

当我在postgresql上的Rails应用程序中运行我的迁移时,我得到了以下通知NOTICE:CREATETABLEwillcreateimplicitsequence"notification_settings_id_seq"forserialcolumn"notification_settings.id"NOTICE:CREATETABLE/PRIMARYKEYwillcreateimplicitindex"notification_settings_pkey"fortable"notification_settings"我的迁移文件包含088_create_notificati

ruby - Chef 从源安装和更新程序

我有一个从源代码构建的程序。为此,我使用了script资源。什么是实现安装和更新逻辑的好方法?现在我只是使用内置的not_if条件实现了安装。script"install_program"donot_if{File.exists?('/program')}interpreter"bash"user"root"cwd"/tmp"code 最佳答案 首先,如果您有办法托管内部包存储库,我通常建议您为目标平台构建native包,并使用package资源来管理它们,而不是从源代码构建。我知道这并不总是可用或可行,所以...使“./confi

ruby-on-rails - 如何在我的 Rails 应用程序中测试 ActiveRecord::RecordNotFound?

我的Controller中有这段代码,我想通过功能测试来测试这段代码。raiseActiveRecord::RecordNotFoundif@post.nil?我应该使用哪种断言方法?我使用内置的rails2.3.5测试框架。我用这段代码试过了:test"shouldreturn404ifpagedoesn'texist."doget:show,:url=>["nothing","here"]assert_response:missingend但这对我不起作用。得到这个测试输出:test_should_return_404_if_page_doesn't_exist.(PageCont

ruby - 从 Ruby 程序创建 'beep' 声音的最简单方法是什么?

我正在制作一个小的ruby​​命令行脚本,我想知道让程序发出蜂鸣声的最简单方法是什么。 最佳答案 尝试打印响铃字符:print"\a" 关于ruby-从Ruby程序创建'beep'声音的最简单方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/621299/

ruby-on-rails - 您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?

假设您的一个RubyonRails应用程序中有一个ActiveRecord::Observer-您如何使用rSpec测试这个观察器? 最佳答案 您走在正确的rails上,但我在使用rSpec、观察者和模拟对象时遇到了许多令人沮丧的意外消息错误。当我对我的模型进行规范测试时,我不想在我的消息期望中处理观察者行为。在您的示例中,在不知道观察者将要对其执行的操作的情况下,没有一种真正好的方法可以在模型上指定“set_status”。因此,我喜欢使用"NoPeepingToms"plugin.根据上面的代码并使用NoPeepingToms插

ruby - 如何在没有 Web 服务器的情况下从命令行执行 ruby​​ 模板文件 (ERB)?

我需要ERB(Ruby的模板系统)来制作非HTML文件的模板。(相反,我想将它用于.java、.cs等源文件...)如何从命令行“执行”Ruby模板? 最佳答案 您应该在ruby​​/bin目录中拥有所需的一切。在我的(WinXP,Ruby1.8.6)系统上,我有ruby/bin/erb.baterb.bat[switches][inputfile]-xprintrubyscript-nprintrubyscriptwithlinenumber-venableverbosemode-dset$DEBUGtotrue-r[librar

ruby - 为 Ruby 模块中的每个方法调用执行代码

我正在用Ruby1.9.2编写一个模块,它定义了几个方法。当调用这些方法中的任何一个时,我希望它们中的每一个都先执行特定的语句。moduleMyModuledefgo_forthare-usedstatement#codeparticulartothismethodfollows...enddefand_multiplyare-usedstatement#thensomethingcompletelydifferent...endend但我想避免在每个方法中显式地放置那个重用语句代码。有办法吗?(如果重要的话,重用语句将让每个方法在调用时打印自己的名称。它将通过puts__method